The present invention relates to a method and system for using multiple smartcards in a smartcard reader. The present invention also relates to a method and apparatus for interfacing between an application and a single smartcard reader. Additionally, the present invention relates to a computer readable medium comprising a computer program for interfacing between an application and a single card reader.
Smartcards have become increasingly popular in recent years. Smartcards are currently used for various purposes including initiating a new session with a device or application program. In many applications the insertion of a controlling smartcard, or the first use of this smartcard after insertion, is a signal to start a new session. When it involves initiating an application, this may be from the card itself or from the computer system that the smartcard reader is connected to, either directly, or via the network.
While a smartcard is inserted in the reader, a running application may request data that is on another smartcard or require operations to be performed using another smartcard. This is often supported with the provision of a second reader for the data. For example, many handheld units for smartcards or credit cards, which are used at a point-of-sale have a reader in a compartment on the back in which a card associated with the salesperson is placed throughout their shift. During this shift, cards of various customers are placed into a reader on the front of the unit. During each transaction, information is read from both the front reader and the back reader.
Typically, where the reading of two cards is required to perform an operation, it is not usual for the same reader mechanism to be used for both cards. Instead, two readers are often used. In some cases (such as the point-of-sale example given above), this is because of the inconvenience of continually swapping cards. In other cases, such as a card-controlled photocopier or a payphone, this is because the ejection of the controlling smartcard from its reader is a signal to terminate the current session. This is a disadvantage in situations where cost is important or space does not permit the use of two readers.
In addition, memory real estate on smartcards is expensive, and this mitigates against use of smartcards for cost-sensitive user interface applications, particularly since this type of user interface is typically a xe2x80x9cthrowawayxe2x80x9d type of device.
It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to one aspect of the invention, there is provided a method of using multiple smartcards with a single reader, wherein the method comprises; initiating a session of an application when a first smartcard associated with the application is inserted into the reader; maintaining said session active when the first smartcard is removed from the reader and a second smartcard associated with the first smartcard is to be inserted in the reader; and performing an action when a said second smartcard is inserted in the reader.
According to another aspect of the invention, there is provided a system for using multiple smartcards, wherein the system comprises: a single card reader; a processing device having a controlling program operating therein; communication means for communicating between said single card reader and said processor, wherein said controlling program comprises: means for initiating a session of an application when a first smartcard associated with the application is inserted into the reader; means for maintaining said session active when the first smartcard is removed from the reader and a second smartcard associated with the first smartcard is to be inserted in the reader; and means for performing an action when a said second smartcard is inserted in the reader.
According to another aspect of the invention, there is provided a computer readable medium comprising a computer program for interfacing between an application and a single smartcard reader, wherein the computer program comprises: means for initiating a session of an application when a first smartcard associated with the application is inserted into the reader; means for maintaining said session active when the first smartcard is removed from the reader and a second smartcard associated with the first smartcard is to be inserted in the reader; and means for performing an action when a said second smartcard is inserted in the reader.
According to another aspect of the invention, there is provided a method of interfacing between an application and a single smartcard reader, wherein the method comprises: initiating a session of an application when a first smartcard associated with the application is inserted into the reader and a controlling program operating on a processing device is in a first mode; terminating the session of the application when the first smartcard is removed from the reader and the controlling program operating on said processing device is in the first mode; changing the operation of the controlling program from the first mode to a second mode in response to a message from the session of the application that one or more second smartcards associated with the application is able to be inserted in the reader; waiting for a said second smartcard associated with the application to be inserted in the reader when the first smartcard is removed from the reader and the controlling program is in a second mode; and passing data from a said second smartcard to the application when the said second smartcard is inserted in the reader and the controlling program is in a second mode.
According to another aspect of the invention, there is provided apparatus for interfacing between an application and a single smartcard reader, wherein the apparatus comprises: means for initiating a session of an application when a first smartcard associated with the application is inserted into the reader and a controlling program operating on a processing device is in a first mode; means for terminating the session of the application when the first smartcard is removed from the reader and the controlling program operating on said processing device is in the first mode; means for changing the operation of the controlling program from the first mode to a second mode in response to a message from the session of the application that one or more second smartcards associated with the application is able to be inserted in the reader; means for waiting for a said second smartcard associated with the application to be inserted in the reader when the first smartcard is removed from the reader and the controlling program is in a second mode; and means for passing data from a said second smartcard to the application when the said second smartcard is inserted in the reader and the controlling program is in a second mode.
According to another aspect of the invention, there is provided a computer readable medium comprising a computer program for interfacing between an application and a single smartcard reader, wherein the computer program comprises: means for initiating a session of an application when a first smartcard associated with the application is inserted into the reader and a controlling program operating on a processing device is in a first mode; means for terminating the session of the application when the first smartcard is removed from the reader and the controlling program operating on said processing device is in the first mode; means for changing the operation of the controlling program from the first mode to a second mode in response to a message from the session of the application that one or more second smartcards associated with the application is able to be inserted in the reader; means for waiting for a said second smartcard associated with the application to be inserted in the reader when the first smartcard is removed from the reader and the controlling program is in a second mode; and means for passing data from a said second smartcard to the application when the said second smartcard is inserted in the reader and the controlling program is in a second mode.
According to another aspect of the invention, there is provided a method of using multiple smartcards in a system comprising a processing device and a single card reader communicating therewith, wherein the method comprises: initiating a session of an application when a first smartcard associated with the application is inserted into the reader and a controlling program operating on said processing device is in a first mode;
terminating the session of the application when the first smartcard is removed from the reader and the controlling program operating on said processing device is in the first mode; changing the operation of the controlling program from the first mode to a second mode in response to a message from the session of the application that one or more second smartcards associated with the application is able to be inserted in the reader; waiting for a said second smartcard associated with the application to be inserted in the reader when the first smartcard is removed from the reader and the controlling program is in a second mode; and performing an action when a said second smartcard is inserted in the reader and the controlling program is in a second mode.
According to another aspect of the invention, there is provided a system for using multiple smartcards, wherein the system comprises: a single card reader; a processing device having a controlling program operating therein; communication means for communicating between said single card reader and said processor, wherein said processing device comprises: means for initiating a session of an application when a first smartcard associated with the application is inserted into the reader and the controlling program operating on said processing device is in a first mode; means for terminating the session of the application when the first smartcard is removed from the reader and the controlling program operating on said processing device is in the first mode; means for changing the operation of the controlling program from the first mode to a second mode in response to a message from the session of the application that one or more second smartcards associated with the application is able to be inserted in the reader; means for waiting for a said second smartcard associated with the application to be inserted in the reader when the first smartcard is removed from the reader and the controlling program is in a second mode; and means for performing an action when a said second smartcard is inserted in the reader and the controlling program is in a second mode.
According to another aspect of the invention, there is provided a method of using multiple smartcards, aggregated into a lesser plurality of groups of said smartcards, said method comprising the steps of: (a) inserting a first smartcard into a smartcard reader; (b) reading and storing, if said first smartcard is a base smartcard, (i) an identity for a group, (ii) an identity of the base smartcard, (iii) an interface description for the base smartcard, (iv) an identity for at least one associated member card, and (v) an interface description for said at least one associated member card; (c) ejecting the first smartcard from the smartcard reader and inserting a second smartcard therein, said smartcard reader making accessible a user selectable icon, having an associated action, on a surface of the inserted second smartcard; (d) reading, if said second inserted smartcard is a member card associated with said base smartcard, of (i) said identity of said group, to which said second inserted smartcard is associated, and (ii) an identity of the inserted associated member smartcard; (e) comparing the group identity read from the first smartcard to the group identity read from the second smartcard; and (f) enabling, because said compared group identities match, the associated action if a user selects the user selectable icon, whereby the association between the icon and the action is defined by the interface description for the associated member smartcard read and stored from the associated base smartcard.
According to another aspect of the invention, there is provided a method for enabling smartcard initiated actions associated with a group of smartcards comprising a base smartcard and at least one associated member smartcard, said method comprising steps of: inserting the base smartcard into a smartcard reader; reading of base smartcard data and first data for the associated member smartcard form the inserted base smartcard; inserting the member smartcard into the smartcard reader; reading of second data from the inserted member smartcard; and enabling a smartcard initiated action associated with the member smartcard dependent upon a correspondence between the first data and the second data.
According to another aspect of the invention, there is provided apparatus for using multiple smartcards, aggregated into a lesser plurality of groups of said smartcards, said apparatus comprising: means for reading and storing from a first smartcard, if said first smartcard is a base smartcard, (i) an identity for a group, (ii) an identity of the base smartcard, (iii) an interface description for the base smartcard, (iv) an identity for at least one associated member card, and (v) an interface description for said at least one associated member card; means for reading from a second smartcard, if said second smartcard is a member card associated with said base smartcard, of (i) said identity of said group, to which said second inserted smartcard is associated, and (ii) an identity of the inserted associated member smartcard; means for comparing the group identity read from the first smartcard to the group identity read from the second smartcard; and means for enabling an action associated with a user selectable icon, if said compared group identities match, and if a user selects said user selectable icon, whereby the association between the icon and the action is defined by the interface description for the associated member smartcard read and stored from the associated base smartcard.
According to another aspect of the invention, there is provided apparatus for enabling smartcard initiated actions associated with a group of smartcards comprising a base smartcard and at least one associated member smartcard, said apparatus comprising: means for reading of base smartcard data and first data for said at least one associated member smartcard form a base smartcard inserted in a smartcard reader; means for reading of second data from a said member smartcard inserted in a smartcard reader; and enabling a smartcard initiated action associated with the member smartcard dependent upon a correspondence between the first data and the second data.
According to another aspect of the invention, there is provided a computer readable medium comprising a computer program for interfacing between multiple smartcards, aggregated into a lesser plurality of groups of said smartcards, said computer program comprising: means for reading and storing from a first smartcard, if said first smartcard is a base smartcard, (i) an identity for a group, (ii) an identity of the base smartcard, (iii) an interface description for the base smartcard, (iv) an identity for at least one associated member card, and (v) an interface description for said at least one associated member card; means for reading from a second smartcard, if said second smartcard is a member card associated with said base smartcard, of (i) said identity of said group, to which said second inserted smartcard is associated, and (ii) an identity of the inserted associated member smartcard; means for comparing the group identity read from the first smartcard to the group identity read from the second smartcard; and means for enabling an action associated with a user selectable icon, if said compared group identities match, and if a user selects said user selectable icon, whereby the association between the icon and the action is defined by the interface description for the associated member smartcard read and stored from the associated base smartcard.
According to another aspect of the invention, there is provided a computer readable medium comprising a computer program for interfacing between multiple smartcards, aggregated into a lesser plurality of groups of said smartcards, said computer program comprising: means for reading of base smartcard data and first data for said at least one associated member smartcard form a base smartcard inserted in a smartcard reader; means for reading of second data from a said member smartcard inserted in a smartcard reader; and enabling a smartcard initiated action associated with the member smartcard dependent upon a correspondence between the first data and the second data.
According to another aspect of the invention, there is provided a base smartcard of one or more associated member smartcards, wherein said base smartcard and said one or more member smartcards forming a group of smartcards, each said base or member smartcard comprising memory storage having stored therein a common group number identifying said group and a number identifying said smartcard, and each said member smartcard comprising an interface for user interaction, wherein said memory storage of the base smartcard having further stored therein interface descriptions of each member smartcard.
According to another aspect of the invention, there is provided a member smartcard associated with a base smartcard, wherein said base smartcard and said member smartcard forming a group of smartcards, each said base or member smartcard comprising memory storage having stored therein a common group number identifying said group and a number identifying said smartcard, and said member smartcard comprising an interface for user interaction, wherein said memory storage of the base smartcard having further stored therein interface descriptions of said member smartcard.